require(["config"],function(){
	require(["jquery","template","header","zoom","fly","cookie"],function($,template){
		function Detail(){
			this.render();
		}
		
		Detail.prototype={
			constructor:Detail,
			// 渲染详情页面数据
			render:function(){
				$.ajax("http://rap2api.taobao.org/app/mock/86896/wangyi/detail")
					.done($.proxy(this.handleData,this));
			},
			// 处理ajax获取到的数据
			handleData:function(data){
				//获取使用数据
				data=data.res_body.new;
//				console.log(data);
				//渲染
				var html=template("detail_template",data);
				$("#docDetail .content").prepend(html);
				//放大镜
				console.log(this);
				this.zoom();
//				//注册事件监听
				this.addListener();
			},
			// 放大镜效果
			zoom:function(){
				$(".middle-zoom").elevateZoom({
					gallery:'gal1',
					cursor:'pointer',
					galleryActiveClass:'active'
				});
			},
			//添加事件监听
			addListener:function(event){
				//添加到购物车
				$("#docDetail .btn-buy").click(this.addToCartHandler);
				//选取尺码
				$("#docDetail .size ul li").on("click",function(){
					$("#docDetail .size ul li").css("border","1px solid #eaeaea");
					$(this).css("border","1px solid red");
//					console.log(this);
				});
				//选取颜色
				$("#docDetail .color ul li").on("click",function(){
					$("#docDetail .color ul li").css("border","1px solid #eaeaea");
					$(this).css("border","1px solid red");
				});
				//+/-数量
				$("#docDetail .decrement").on("click",function(){
					var count=Number($("#docDetail .amount").val());
					count--;
					$("#docDetail .amount").val(count);
					if (count<=1){
						$("#docDetail .amount").val(1);
					}
				});
				$("#docDetail .increment").on("click",function(){
					var count=Number($("#docDetail .amount").val());
					count++;
					$("#docDetail .amount").val(count);
				});
				//立刻购买
				$("#docDetail .suddenly").on("click",this.gmSuddenly);
			},
			addToCartHandler:function(event){
				// 获取当前选购商品的信息
				var currentProduct={
					id:$(".prod_id").text(),
					title:$(".prod_title").text(),
					img:$("#gal1 img:first").attr("src"),
					price:$(".prod_price").text(),
					oriprice:$(".prod_oriprice").text(),
					amount:$("#docDetail .amount").val()
				};
//				console.log(currentProduct);
				/* 判断是否已选购过当前商品 */
				// 从 cookie 中读取以有的购物车数据
				$.cookie.json=true;// 配置自动在JS值与JSON文本之间相互转换
				var products=$.cookie("cart") || [];
				// 判断是否已有选购
				console.log(products);
				var has=products.some(function(prod){
					if (prod.id==currentProduct.id){// 已有选购商品
						prod.amount=Number(prod.amount);
						prod.amount+=Number($("#docDetail .amount").val());// 数量自增
						return true;
					}
					return false;
				});
				if (!has)//未选购
					products.push(currentProduct);
					
				// 保存购物车：存回cookie
				// 数据结构：[{id,title,img,price,amout},{id,title,img,price,amout},{id,title,img,price,amout}]
				$.cookie("cart", products, {expires: 10, path:"/"});
				
				
				//抛物线效果
				var end=$(".bag_left").offset();//终点坐标
//				console.log(end);
				end.top-=$(window).scrollTop();
				var start={top:event.pageY-$(window).scrollTop(),left:event.pageX};
				var flyer=$("#gal1 img:first").clone();//抛物线运动的元素
				//运动
				flyer.fly({
					start,//运动起点坐标
					end,//运动终点坐标
					onEnd:function(){//结束后，将资源销毁
						this.destroy();
					}
				});
				
				return false; // 阻止冒泡和阻止默认
			},
			//立即购买
			gmSuddenly:function(){
//				// 获取当前选购商品的信息
				var checkedProduct={
					id:$(".prod_id").text(),
					title:$(".prod_title").text(),
					img:$("#gal1 img:first").attr("src"),
					price:$(".prod_price").text(),
					oriprice:$(".prod_oriprice").text(),
					amount:$("#docDetail .amount").val(),
					sub:$(".prod_price").text()*$("#docDetail .amount").val()
				};
//				console.log(checkedProduct);
				$.cookie.json=true;// 配置自动在JS值与JSON文本之间相互转换
				var products=$.cookie("cars") || [];
				// 判断是否已有选购
//				console.log(products);
				var has=products.some(function(prod){
					console.log("aa");
					if (prod.id==checkedProduct.id){// 已有选购商品
						prod.amount=Number(prod.amount);
						prod.amount+=Number($("#docDetail .amount").val());// 数量自增
						return true;
					}
					return false;
				});
				if (!has)//未选购
					products.push(checkedProduct);
					
				// 保存购物车：存回cookie
				$.cookie("cars", products, {expires: 10, path:"/"});
			}
		}
		
		new Detail();
	});
});
